Jetson nano 多路实时目标检测 yolov5 TensorRT |
您所在的位置:网站首页 › demo 测试 › Jetson nano 多路实时目标检测 yolov5 TensorRT |
Jetson nano 多路实时目标检测 yolov5 TensorRT
导读
首先请参考 jetson nano 运行yolov5 配置好测试环境,在此基础之上,我们通过修改配置文件来测试多路视频的实时目标检测,经过简单的优化,我们可以在jetson nano上实现4路1080P或者更多路输入下的实时目标检测。 在不改变yolov5网络结构的前提下,我们需要针对输入的视频大小有针对性的调整模型的batch-size,以及推理的interval来快速达到想要的效果。 首先,尝试一下4路1080P输入这里我们先将输入的视频修改为4路1080P,并将streammux以及yolov5模型的batch-size修改为4(streammux是deepstream的插件,用来把多个并行解码流合并成一个batch传给下一个组件) 修改Deepstream-Yolo文件夹下的deepstream_app_config.txt,参考如下: [tiled-display] #这里修改rows和columns都为2,显示的时候4路视频就会显示成2行2列 rows=2 columns=2 #... [source0] #... num-sources=4 # 修改视频输入为4路 #... [streammux] #... batch-size=4 # 修改streammux的batch-size为4 #... 修改Deepstream-Yolo文件夹下的config_infer_primary_yoloV5.txt, 参考如下: [property] #... custom-network-config=yolov5n.cfg model-file=yolov5n.wts model-engine-file=model_b4_gpu0_fp16.engine #修改保存模型的名称 batch-size=4 # batch-size修改为4 network-mode=2 # 模型类型修改为fp16 测试效果,继续优化运行 deepstream-app -c deepstream_app_config.txt可以看到,FPS只有不到10,因此还需要进一步优化,我们知道在大多数的业务场景中,我们其实不需要对视频的每一帧都做处理,由于视频的运动连贯性,我们可以间隔几帧做一次推理,这样可以显著的提高系统整体的吞吐率。 同样,修改config_infer_primary_yoloV5.txt中的interval参数,将其修改为3,也就是每间隔三帧做一次推理 [property] #... interval=3 #修改为3 #...再运行程序测试,我们发现FPS已经显著提高了,可以达到实时的效果。同理,针对更多的视频流(本地/实时流),我们在不修改模型的基础上通过改变上述几个参数,可以有效的提高系统整体的FPS,在实际的场景中完成我们的业务。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |